home *** CD-ROM | disk | FTP | other *** search
Text File | 1990-03-09 | 1.5 KB | 35 lines | [TEXT/GEOL] |
- Item 0839270 6-March-90 12:37PST
-
- From: BURBECK.S Burbeck, Steve
-
- To: POWERUP.DEV Power Up Software,PRT
-
- cc: MACAPP.TECH$ MacApp Technical
-
- Sub: Re: Model/View Separation
-
- James,
-
- What you are describing is indeed not new. It goes under the name of
- "Model-View-Controller" (MVC) in Smalltalk-80. The issues of dependency are,
- as you surmise, central to the mechanism. The Object class implements a
- DependentsDictionary (as a class variable) in which all objects may register
- themselves as dependents of other objects. Typically, the view registers
- itself as a dependent of its model. Then class object implements a "changed"
- method which handles the notification of any dependents. So a model object,
- when it changes, sends "self changed" which causes each of its dependents to
- get an update message indicating which object has changed (and optionally, some
- indication of what has changed).
-
- Digitalk's Smalltalk/V-Mac implements a similar scheme called
- Model-Pane-Dispatcher. The Digitalk manual has some discussion of the MPD
- mechanism that might be worth looking at. For that matter, you could do a lot
- worse than buying Smalltalk/V-Mac for $200 or so at Egghead and looking through
- the the way MPD is implemented.
-
- As for references, I believe that there is a fairly extensive paper on MVC in
- an issue of JOOP last year by Stephen Pope, et al.
-
- Steve Burbeck
-
-